package com.yangwudi.Dao.impl;

import cn.hutool.core.io.IoUtil;
import com.yangwudi.Dao.UserDao;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;

import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;

//<-----------------------------------------------------------------IOC详解---------------------------------------------------->
                                //@Component  ->  声明bean的基础注解，不属于以下三类时，用此注解（属于也可以）
                                //@Controller ->  @Component的衍生注解，标注在控制层上   - 声明控制器bean只能用@Controller
                                //@Service    ->  @Component的衍生注解，标注在业务层上
                                //@Repository  ->  @Component的衍生注解，标注在数据访问层上（由于与mybatis整合，用的少）



@Repository//("userDao")    //声明bean的时候，可以通过注解的value属性指定bean的名字，如果不指定，则默认bean的名字为类名首字母小写
//@Component      //控制反转      //将当前类交给IOC容器管理
public class UserDaoimpl implements UserDao {

    @Override
    public List<String> findAll() {
        //1. 加载并读取user.txt文件，获取用户信息
        InputStream in = this.getClass().getClassLoader().getResourceAsStream("user.txt");
        ArrayList<String> lines = IoUtil.readLines(in, StandardCharsets.UTF_8,new ArrayList<>());
        return lines;
    }
}
